package com.bbva.kyfb.kyfbdtofo.entitys;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.bbva.kyfb.kyfbdtofo.RequestDto;
import com.bbva.kyfb.kyfbjpatlbh.dominiotlbh.Ttlsbsfo;
import com.bbva.kyfb.kyfbjpatlbh.dominiotlbh.TtlsbsfoPK;

@Component
public class SfoDTO /*extends Ttlsbsfo*/ {

	private String codEstacash;
	private String desNomfich;
	
//	@Autowired
	private Ttlsbsfo sfoEntity = new Ttlsbsfo();

	public SfoDTO(BigDecimal qnuNumitem, Date timFichero,
			String codIdorden, String codClaseord, String codCliecash,
			Short codBancopr, Short codProdserv, Short codSubprodu,
			String codComrefex, String desAsunacce, String codEstadods,
			String desPath, BigDecimal qnuPesofir, String audUsuario,
			Date audFmodific, Character xtiMultirem, BigDecimal impMaxreg,
			Short codSercrubd, String codEstacash, String desNomfich) {

		TtlsbsfoPK ttlsbsfoPK = new TtlsbsfoPK(qnuNumitem, codIdorden,
				codClaseord, codCliecash);
		sfoEntity.setId(ttlsbsfoPK);
		sfoEntity.setTimFichero(timFichero);
		sfoEntity.setCodBancopr(codBancopr);
		sfoEntity.setCodProdserv(codProdserv);
		sfoEntity.setCodSubprodu(codSubprodu);
		sfoEntity.setCodComrefex(codComrefex);
		sfoEntity.setDesAsunacce(desAsunacce);
		sfoEntity.setCodEstadods(codEstadods);
		sfoEntity.setDesPath(desPath);
		sfoEntity.setQnuPesofir(qnuPesofir);
		sfoEntity.setAudUsuario(audUsuario);
		sfoEntity.setAudFmodific(audFmodific);
		sfoEntity.setXtiMultirem(xtiMultirem);
		sfoEntity.setImpMaxreg(impMaxreg);
		sfoEntity.setCodSercrubd(codSercrubd);
		
		this.setCodEstacash(codEstacash);
		this.setDesNomfich(desNomfich);
	}

	public SfoDTO() {
		super();
	}

	public BigDecimal getQnuNumitem() {
		if (sfoEntity.getId() != null) {
			return sfoEntity.getId().getQnuNumitem();
		}

		return null;
	}
//
//	public void setQnuNumitem(BigDecimal qnuNumitem) {
//		String codIdorden = null;
//		String codClaseord = null;
//		String codCliecash = null;
//
//		if (this.getId() != null) {
//			codIdorden = this.getId().getCodIdorden();
//			codClaseord = this.getId().getCodClaseord();
//			codCliecash = this.getId().getCodCliecash();
//		}
//
//		TtlsbsfoPK ttlsbsfoPK = new TtlsbsfoPK(qnuNumitem, codIdorden,
//				codClaseord, codCliecash);
//		this.setId(ttlsbsfoPK);
//	}
//
//	public String getCodIdorden() {
//		if (this.getId() != null) {
//			return this.getId().getCodIdorden();
//		}
//
//		return null;
//	}
//
//	public void setCodIdorden(String codIdorden) {
//		BigDecimal qnuNumitem = null;
//		String codClaseord = null;
//		String codCliecash = null;
//
//		if (this.getId() != null) {
//			qnuNumitem = this.getId().getQnuNumitem();
//			codClaseord = this.getId().getCodClaseord();
//			codCliecash = this.getId().getCodCliecash();
//		}
//
//		TtlsbsfoPK ttlsbsfoPK = new TtlsbsfoPK(qnuNumitem, codIdorden,
//				codClaseord, codCliecash);
//		this.setId(ttlsbsfoPK);
//	}
//
//	public String getCodClaseord() {
//		if (this.getId() != null) {
//			return this.getId().getCodClaseord();
//		}
//
//		return null;
//	}
//
//	public void setCodClaseord(String codClaseord) {
//		BigDecimal qnuNumitem = null;
//		String codIdorden = null;
//		String codCliecash = null;
//
//		if (this.getId() != null) {
//			qnuNumitem = this.getId().getQnuNumitem();
//			codIdorden = this.getId().getCodIdorden();
//			codCliecash = this.getId().getCodCliecash();
//		}
//
//		TtlsbsfoPK ttlsbsfoPK = new TtlsbsfoPK(qnuNumitem, codIdorden,
//				codClaseord, codCliecash);
//		this.setId(ttlsbsfoPK);
//	}
//
//	public String getCodCliecash() {
//		if (this.getId() != null) {
//			return this.getId().getCodCliecash();
//		}
//
//		return null;
//	}
//
//	public void setCodCliecash(String codCliecash) {
//		BigDecimal qnuNumitem = null;
//		String codIdorden = null;
//		String codClaseord = null;
//
//		if (this.getId() != null) {
//			qnuNumitem = this.getId().getQnuNumitem();
//			codIdorden = this.getId().getCodIdorden();
//			codClaseord = this.getId().getCodClaseord();
//		}
//
//		TtlsbsfoPK ttlsbsfoPK = new TtlsbsfoPK(qnuNumitem, codIdorden,
//				codClaseord, codCliecash);
//		this.setId(ttlsbsfoPK);
//	}

	public static TtlsbsfoPK parseFicheroRequestToTtlsbsfoPK(
			RequestDto aRequestDto) {
		
//		RequestDto aFicheroRequest = (RequestDto) aRequestDto;
		
		return new TtlsbsfoPK(new BigDecimal(aRequestDto.getNumItem()),
				aRequestDto.getIdOrden(), aRequestDto.getTipoOrden(),
				aRequestDto.getCodClieCash());
	}

//	public static List<SfoDTO> parseListEstadoToTtlsbsfoDTO(
//			List<Object[]> aEstadoList) {
//		final List<SfoDTO> ttlsbsfoDTOList = new ArrayList<SfoDTO>();
//
//		for (Object[] estado : aEstadoList) {
//			ttlsbsfoDTOList.add(parseEstadoToTtlsbsfoDTO(estado));
//		}
//
//		return ttlsbsfoDTOList;
//	}

//	public static SfoDTO parseEstadoToTtlsbsfoDTO(Object[] aEstado) {
//		SfoDTO ttlsbsfoDTO = new SfoDTO();
//		ttlsbsfoDTO.setQnuNumitem((BigDecimal) aEstado[0]);
//		ttlsbsfoDTO.setTimFichero((Date) aEstado[1]);
//		ttlsbsfoDTO.setCodIdorden(aEstado[2].toString());
//		ttlsbsfoDTO.setCodClaseord(aEstado[3].toString());
//		ttlsbsfoDTO.setCodCliecash(aEstado[4].toString());
//		ttlsbsfoDTO.setCodBancopr((Short) aEstado[5]);
//		ttlsbsfoDTO.setCodProdserv((Short) aEstado[6]);
//		ttlsbsfoDTO.setCodSubprodu((Short) aEstado[7]);
//		ttlsbsfoDTO.setCodComrefex(aEstado[8].toString());
//		ttlsbsfoDTO.setDesAsunacce(aEstado[9].toString());
//		ttlsbsfoDTO.setCodEstadods(aEstado[10].toString());
//		ttlsbsfoDTO.setDesPath(aEstado[11].toString());
//		ttlsbsfoDTO.setQnuPesofir((BigDecimal) aEstado[12]);
//		ttlsbsfoDTO.setAudUsuario(aEstado[13].toString());
//		ttlsbsfoDTO.setAudFmodific((Date) aEstado[14]);
//		ttlsbsfoDTO
//				.setXtiMultirem((Character) aEstado[15].toString().charAt(0));
//		ttlsbsfoDTO.setImpMaxreg((BigDecimal) aEstado[16]);
//		ttlsbsfoDTO.setCodSercrubd((Short) aEstado[17]);
//		ttlsbsfoDTO.setCodEstacash(aEstado[18].toString());
//
//		return ttlsbsfoDTO;
//	}

	public String getCodEstacash() {
		return codEstacash;
	}

	public void setCodEstacash(String codEstacash) {
		this.codEstacash = codEstacash;
	}

	public String getDesNomfich() {
		return desNomfich;
	}

	public void setDesNomfich(String desNomfich) {
		this.desNomfich = desNomfich;
	}

	public String getDesAsunacce() {
		return sfoEntity.getDesAsunacce();
	}

	public Short getCodProdserv() {
		return sfoEntity.getCodProdserv();
	}

	public String getCodEstadods() {
		return sfoEntity.getCodEstadods();
	}

	public Date getTimFichero() {
		return sfoEntity.getTimFichero();
	}

//	public Integer getQnuNumitem() {
//		// TODO Auto-generated method stub
//		return sfoEntity.getQn;
//	}
}
